package ui.panel;

/**
 * Klassen Panel
 * @author Christian Wolpers
 */

import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridLayout;
import java.awt.Insets;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.event.TableModelListener;

import beans.Klasse;
import bl.BL_Listen;
import beans.*;
import ui.HatSuchfeld;
import ui.Mainframe;
import ui.listener.KlassenListener;
import ui.listener.NotenListener;

/**
 * Panel zur Erstellung neuer Klassen.
 * @author katzenberger.robin
 */
@SuppressWarnings("serial")
public class KlassenPanel extends JPanel {
	private Mainframe frame;
		
	private JComboBox JC_Fachrichtung 		=  new JComboBox();
	private JButton klasseErstellen			= new JButton();
	private JLabel lb_nameKlasse 			= new JLabel();
	private JTextField textFieldSuche;
	private JTextField textFieldLehrer1;
	private JTextField textFieldLehrer2;
	private JTextField textFieldAusbildungsberuf;
	private JTextField textFieldLaufende_Nummer;
	private JTable table;
	private KlassenListener  klassenlistener = new KlassenListener(this);
	/** Testdaten **/
	String[][] rowData = {
		    { "Bauer","ITA","ITA12" }, { "Brockmann","WHH","WHH12" }, { "Bauer","ITA","ITA12" },
		    { "Heinrich","ITA","ITA12" },{ "Dresen","WGY","WHH12" },{"Bauer","ITA","ITA12" },
		    { "Hertz","ITA","ITA23" },{ "Gottwald","WHH","WHH12" },{ "Bauer","ITA","ITA12" }};
	
	String[] columnNames = {"Lehrer", "Ausbildungsberuf", "Laufende Nummer"};
	
	public KlassenPanel(Mainframe frame)
    {
		this.frame = frame;
		this.setLayout(new GridLayout(2,1));
		JPanel erstellenPanel = new JPanel();
		GridLayout gdl2 = new GridLayout(1,2);
		JPanel textundbox = new JPanel();
		textundbox.setLayout(gdl2);
		JLabel jl_bereich = new JLabel("Bereich: ");
		klasseErstellen.setText("Klasse erstellen");
		textundbox.add(jl_bereich);
		textundbox.add(JC_Fachrichtung);
		JPanel textundklasse = new JPanel();
		textundklasse.setLayout(gdl2);
		JLabel lb_LBLnameKlasse = new JLabel("Neue Klasse:");
		textundklasse.add(lb_LBLnameKlasse);
		textundklasse.add(lb_nameKlasse);
		JPanel erstellenButton = new JPanel();
		erstellenButton.add(klasseErstellen);
		GridLayout gdl = new GridLayout(3,1);
		erstellenPanel.setLayout(gdl);
		erstellenPanel.add(textundbox);
		erstellenPanel.add(textundklasse);
		erstellenPanel.add(erstellenButton);
		klasseErstellen.addActionListener(klassenlistener);
		klasseErstellen.setActionCommand("erstellen");
		JC_Fachrichtung.setActionCommand("bereich");
		BL_Listen bl_listen = new BL_Listen();
		ArrayList<Bereich> bereiche = new ArrayList<Bereich>();
		try {
			bereiche = bl_listen.getBereichList();
			for (Bereich bereich:bereiche){
				JC_Fachrichtung.addItem(bereich.getName());
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		this.add(erstellenPanel);
		JC_Fachrichtung.addActionListener(klassenlistener);
		this.frame.pack();
		this.setVisible(true);
		/*
		add(panelOben, BorderLayout.NORTH);
		panelOben.setLayout(new BorderLayout(0, 0));
		
		JPanel panelObenSuche = new JPanel();
		panelOben.add(panelObenSuche, BorderLayout.NORTH);
		panelObenSuche.setLayout(new GridLayout(1, 0, 0, 0));
		
		JLabel labelSuche = new JLabel("Suche:");
		panelObenSuche.add(labelSuche);
		
		textFieldSuche = new JTextField();
		labelSuche.setLabelFor(textFieldSuche);
		panelObenSuche.add(textFieldSuche);
		textFieldSuche.setColumns(10);
		
		JPanel panelObenListe = new JPanel();
		panelOben.add(panelObenListe, BorderLayout.CENTER);
		panelObenListe.setLayout(new BorderLayout());

		table = new JTable(rowData, columnNames);
		table.setRowSelectionAllowed(true);
		
		JScrollPane scrollpane = new JScrollPane(table);
		
		panelObenListe.add(scrollpane, BorderLayout.CENTER);
		
		JPanel panelObenButton = new JPanel();
		panelOben.add(panelObenButton, BorderLayout.SOUTH);
		panelObenButton.setLayout(new GridLayout(0, 2, 0, 0));
		
		JButton buttonBearbeiten = new JButton("Bearbeiten");
		panelObenButton.add(buttonBearbeiten);
		
		JButton buttonLoeschen = new JButton("L\u00F6schen");
		panelObenButton.add(buttonLoeschen);
		
		JPanel panelUnten = new JPanel();
		add(panelUnten, BorderLayout.CENTER);
		panelUnten.setLayout(new BorderLayout(0, 0));
		
		JPanel panelUntenFormular = new JPanel();
		panelUnten.add(panelUntenFormular, BorderLayout.NORTH);
		panelUntenFormular.setLayout(new GridLayout(0, 2, 0, 0));
		
		
		
		
		JLabel labelName = new JLabel("Name des Lehrers:");
		panelUntenFormular.add(labelName);
		
		textFieldLehrer1 = new JTextField();
		labelName.setLabelFor(textFieldLehrer1);
		panelUntenFormular.add(textFieldLehrer1);
		textFieldLehrer1.setColumns(10);
		
		JLabel labelVorname = new JLabel("Ausbildungsberuf:");
		panelUntenFormular.add(labelVorname);
		
		textFieldAusbildungsberuf = new JTextField();
		labelVorname.setLabelFor(textFieldAusbildungsberuf);
		panelUntenFormular.add(textFieldAusbildungsberuf);
		textFieldAusbildungsberuf.setColumns(10);
		
		JLabel labelFirma = new JLabel("Laufende Nummer:");
		panelUntenFormular.add(labelFirma);
		
		textFieldLaufende_Nummer = new JTextField();
		labelFirma.setLabelFor(textFieldLaufende_Nummer);
		panelUntenFormular.add(textFieldLaufende_Nummer);
		textFieldLaufende_Nummer.setColumns(10);
		
	
		
		JPanel panelUntenButton = new JPanel();
		panelUnten.add(panelUntenButton);
		panelUntenButton.setLayout(new GridLayout(1, 3, 0, 0));
		
		JButton buttonNeuAnlegen = new JButton("Neu anlegen");
		panelUntenButton.add(buttonNeuAnlegen);
		
		JButton buttonSpeichern = new JButton("Speichern");
		panelUntenButton.add(buttonSpeichern);
		
		JButton buttonZurueck = new JButton("Zur\u00FCck");
		panelUntenButton.add(buttonZurueck);*/
    }
	
	public String getJC_Bereich(){
		return this.JC_Fachrichtung.getSelectedItem().toString();
	}
	public void setJL_Klasse(String text){
		this.lb_nameKlasse.setText(text);
	}
	public String getJL_Klasse(){
		return this.lb_nameKlasse.getText();
	}
    
    
}